#ifndef DYN_QUAD_QGAUSS8_H
#define DYN_QUAD_QGAUSS8_H

#include "dyn_quad_qGauss.h"

/*! \author Joey Dumont <joey.dumont@gmail.com>
 *
 *  \date 2012-10-07
 *
 *  \brief Gaussian quadrature with \f$N=8\f$.
 *
 * We define the values associated \f$N=8\f$
 * Gaussian quadrature. The values are taken
 * from Abramowitz and Stegun.
 */

class qGauss8 : public qGauss
{
public:
    /*! Standard constructor for qGauss. */
    qGauss8(Functor& _func,
            double _a,
            double _b);

    /*! Re-declared pure virtual function. */
    void populateVectors();

protected:
    /*! @name Abscissas */
    //@{
    double x1 = 0.183434642495650;
    double x2 = 0.525532409916329;
    double x3 = 0.796666477413627;
    double x4 = 0.960289856497536;
    //@}

    /*! @name Weights */
    //@{
    double w1 = 0.362683783378362;
    double w2 = 0.313706645877887;
    double w3 = 0.222381034453374;
    double w4 = 0.101228536290376;
    //@}
};

#endif // DYN_QUAD_QGAUSS8_H
